package done.easy_101_200;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

/**
 * 172. Factorial Trailing Zeroes
 * <p>
 * 给定一个整数 n，返回 n! 结果尾数中零的数量。
 * <p>
 * 示例 1:
 * 输入: 3
 * 输出: 0
 * 解释: 3! = 6, 尾数中没有零。
 * 示例 2:
 * 输入: 5
 * 输出: 1
 * 解释: 5! = 120, 尾数中有 1 个零.
 * 说明: 你算法的时间复杂度应为 O(log n) 。
 * <p>
 * 求一个数的阶乘末尾0的个数，也就是要找乘数中10的个数，
 * 而10可分解为2和5，而我们可知2的数量又远大于5的数量，
 * 那么此题即便为找出5的个数。仍需注意的一点就是，
 * 像25,125，这样的不只含有一个5的数字需要考虑进去。
 * <p>
 * 2019-03-24 10:48 AM
 **/
@Slf4j
public class FactorialTrailingZeroes {

    @SuppressWarnings("all")
    public int trailingZeroes(int n) {
        // 190324 first
        // 190402 second 没有真的理解
        return 0;
    }

    @Test
    public void test() {
        log.info("result:{}", trailingZeroes(25));
    }
}





























/*
public int trailingZeroes(int n) {
    int res = 0;
    while (n > 0) {
        res += n / 5;

        // 对于25、125、255等不止一个5
        // 这种情况需要特殊判断
        n /= 5;
    }
    return res;
}
*/
